home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / System / XFD / Developer / include / AmigaE / EModules / libraries / xfdmaster.e next >
Encoding:
Text File  |  2001-09-16  |  22.7 KB  |  496 lines

  1. /*
  2. **      $VER: xfdmaster.h 38.4 (02.11.98)
  3. **
  4. **      Copyright © 1994-98 by Georg Hörmann, Dirk Stöcker
  5. **      All Rights Reserved.
  6. **
  7. **      Translated to E by Sven Steiniger.
  8. */
  9.  
  10. OPT MODULE
  11. OPT PREPROCESS
  12. OPT EXPORT
  13.  
  14. MODULE 'exec/libraries', 'exec/execbase',
  15.        'dos/dosextens'
  16.  
  17. /*********************
  18. *                    *
  19. *    Library Base    *
  20. *                    *
  21. *********************/
  22.  
  23. OBJECT xfdMasterBase
  24.   libNode:lib
  25.   xfdm_SegList:LONG                       /* PRIVATE! */
  26.   xfdm_DosBase:PTR TO doslibrary          /* May be used for I/O etc. */
  27.   xfdm_FirstSlave:PTR TO xfdSlave         /* List of available slaves */
  28.   xfdm_FirstForeMan:PTR TO xfdForeMan     /* PRIVATE! */
  29.   xfdm_MinBufferSize:LONG                 /* (V36) Min. BufSize for xfdRecogBuffer() */
  30.   xfdm_MinLinkerSize:LONG                 /* (V36) Min. BufSize for xfdRecogLinker() */
  31.   xfdm_ExecBase:PTR TO execbase           /* (V38.2) Cached for fast access */
  32. ENDOBJECT
  33.  
  34.  
  35. CONST XFDM_VERSION              = 38      /* for OpenLibrary() */
  36. #define XFDM_NAME 'xfdmaster.library'
  37.  
  38. /***************************
  39. *                          *
  40. *    Object Types (V36)    *
  41. *                          *
  42. ***************************/
  43.  
  44. CONST XFDOBJ_BUFFERINFO         = 1       /* xfdBufferInfo structure */
  45. CONST XFDOBJ_SEGMENTINFO        = 2       /* xfdSegmentInfo structure */
  46. CONST XFDOBJ_LINKERINFO         = 3       /* xfdLinkerInfo structure */
  47. CONST XFDOBJ_SCANNODE           = 4       /* (V37) xfdScanNode structure */
  48. CONST XFDOBJ_SCANHOOK           = 5       /* (V37) xfdScanHook structure */
  49. CONST XFDOBJ_MAX                = 5       /* PRIVATE! */
  50.  
  51. /********************
  52. *                   *
  53. *    Buffer Info    *
  54. *                   *
  55. ********************/
  56.  
  57. OBJECT xfdBufferInfo
  58.   xfdbi_SourceBuffer:PTR TO CHAR          /* Pointer to source buffer */
  59.   xfdbi_SourceBufLen:LONG                 /* Length of source buffer */
  60.   xfdbi_Slave:PTR TO xfdSlave             /* PRIVATE! */
  61.   xfdbi_PackerName:PTR TO CHAR            /* Name of recognized packer */
  62.   xfdbi_PackerFlags:INT                   /* Flags for recognized packer */
  63.   xfdbi_Error:INT                         /* Error return code */
  64.   xfdbi_TargetBuffer:PTR TO CHAR          /* Pointer to target buffer */
  65.   xfdbi_TargetBufMemType:LONG             /* Memtype of target buffer */
  66.   xfdbi_TargetBufLen:LONG                 /* Full length of buffer */
  67.   xfdbi_TargetBufSaveLen:LONG             /* Used length of buffer */
  68.   xfdbi_DecrAddress:LONG                  /* Address to load decrunched file */
  69.   xfdbi_JmpAddress:LONG                   /* Address to jump in file */
  70.   xfdbi_Special:PTR TO CHAR               /* Special decrunch info (eg. password) */
  71.   xfdbi_Flags:INT                         /* (V37) Flags to influence recog/decr */
  72.   xfdbi_Reserved0:INT                     /* (V38) PRIVATE! */
  73.   xfdbi_MinTargetLen:LONG                 /* (V38) Required length of target buffer */
  74.   xfdbi_FinalTargetLen:LONG               /* (V38) Final length of decrunched file */
  75.   xfdbi_UserTargetBuf:PTR TO CHAR         /* (V38) Target buffer allocated by user */
  76.   xfdbi_UserTargetBufLen:LONG             /* (V38) Target buffer length */
  77. ENDOBJECT
  78.  
  79. /* Max. length of special info */
  80. #define xfdbi_MaxSpecialLen xfdbi_Error
  81.  
  82.  
  83. /*********************
  84. *                    *
  85. *    Segment Info    *
  86. *                    *
  87. *********************/
  88.  
  89. OBJECT xfdSegmentInfo
  90.   xfdsi_SegList:LONG                      /* BPTR to segment list */
  91.   xfdsi_Slave:PTR TO xfdSlave             /* PRIVATE! */
  92.   xfdsi_PackerName:PTR TO CHAR            /* Name of recognized packer */
  93.   xfdsi_PackerFlags:INT                   /* Flags for recognized packer */
  94.   xfdsi_Error:INT                         /* Error return code */
  95.   xfdsi_Special:PTR TO CHAR               /* Special decrunch info (eg. password) */
  96.   xfdsi_RelMode:INT                       /* (V34) Relocation mode */
  97.   xfdsi_Flags:INT                         /* (V37) Flags to influence recog/decr */
  98. ENDOBJECT
  99.  
  100. /* Max. length of special info */
  101. #define xfdsi_MaxSpecialLen xfdsi_Error
  102.  
  103.  
  104. /**************************
  105. *                         *
  106. *    Linker Info (V36)    *
  107. *                         *
  108. **************************/
  109.  
  110. OBJECT xfdLinkerInfo
  111.   xfdli_Buffer:PTR TO CHAR                /* Pointer to buffer */
  112.   xfdli_BufLen:LONG                       /* Length of buffer */
  113.   xfdli_LinkerName:PTR TO CHAR            /* Name of recognized linker */
  114.   xfdli_Unlink:PTR TO CHAR                /* PRIVATE! */
  115.   xfdli_Reserved:INT                      /* Set to NULL */
  116.   xfdli_Error:INT                         /* Error return code */
  117.   xfdli_Hunk1:LONG                        /* PRIVATE! */
  118.   xfdli_Hunk2:LONG                        /* PRIVATE! */
  119.   xfdli_Amount1:LONG                      /* PRIVATE! */
  120.   xfdli_Amount2:LONG                      /* PRIVATE! */
  121.   xfdli_Save1:PTR TO CHAR                 /* Pointer to first unlinked file */
  122.   xfdli_Save2:PTR TO CHAR                 /* Pointer to second unlinked file */
  123.   xfdli_SaveLen1:LONG                     /* Length of first unlinked file */
  124.   xfdli_SaveLen2:LONG                     /* Length of second unlinked file */
  125. ENDOBJECT
  126.  
  127. /************************
  128. *                       *
  129. *    Scan Node (V37)    *
  130. *                       *
  131. ************************/
  132.  
  133. OBJECT xfdScanNode
  134.   xfdsn_Next:PTR TO xfdScanNode           /* Pointer to next xfdScanNode or NULL */
  135.   xfdsn_Save:PTR TO CHAR                  /* Pointer to data */
  136.   xfdsn_SaveLen:LONG                      /* Length of data */
  137.   xfdsn_PackerName:PTR TO CHAR            /* Name of recognized packer */
  138.   xfdsn_PackerFlags:INT                   /* Flags for recognized packer */
  139. ENDOBJECT
  140.  
  141. /************************
  142. *                       *
  143. *    Scan Hook (V37)    *
  144. *                       *
  145. ************************/
  146.  
  147. OBJECT xfdScanHook
  148.   xfdsh_Entry:LONG                        /* Entrypoint of hook code (BOOL (*)()) */
  149.   xfdsh_Data:PTR TO CHAR                  /* Private data of hook */
  150.   xfdsh_ToDo:LONG                         /* Bytes still to scan (READ ONLY) */
  151.   xfdsh_ScanNode:LONG                     /* Found data right now (or NULL) (READ ONLY) */
  152. ENDOBJECT
  153.  
  154. /********************
  155. *                   *
  156. *    Error Codes    *
  157. *                   *
  158. ********************/
  159.  
  160. CONST XFDERR_OK                 = $0000   /* No errors */
  161.  
  162. CONST XFDERR_NOMEMORY           = $0001   /* Error allocating memory */
  163. CONST XFDERR_NOSLAVE            = $0002   /* No slave entry in info structure */
  164. CONST XFDERR_NOTSUPPORTED       = $0003   /* Slave doesn't support called function */
  165. CONST XFDERR_UNKNOWN            = $0004   /* Unknown file */
  166. CONST XFDERR_NOSOURCE           = $0005   /* No sourcebuffer/seglist specified */
  167. CONST XFDERR_WRONGPASSWORD      = $0006   /* Wrong password for decrunching */
  168. CONST XFDERR_BADHUNK            = $0007   /* Bad hunk structure */
  169. CONST XFDERR_CORRUPTEDDATA      = $0008   /* Crunched data is corrupted */
  170. CONST XFDERR_MISSINGRESOURCE    = $0009   /* (V34) Missing resource (eg. library) */
  171. CONST XFDERR_WRONGKEY           = $000a   /* (V35) Wrong 16/32 bit key */
  172. CONST XFDERR_BETTERCPU          = $000b   /* (V37) Better CPU required */
  173. CONST XFDERR_HOOKBREAK          = $000c   /* (V37) Hook caused break */
  174. CONST XFDERR_DOSERROR           = $000d   /* (V37) Dos error */
  175. CONST XFDERR_NOTARGET           = $000e   /* (V38) No user target given */
  176. CONST XFDERR_TARGETTOOSMALL     = $000f   /* (V38) User target is too small */
  177. CONST XFDERR_TARGETNOTSUPPORTED = $0010   /* (V38) User target not supported */
  178.  
  179. CONST XFDERR_UNDEFINEDHUNK      = $1000   /* (V34) Undefined hunk type */
  180. CONST XFDERR_NOHUNKHEADER       = $1001   /* (V34) File is not executable */
  181. CONST XFDERR_BADEXTTYPE         = $1002   /* (V34) Bad hunk_ext type */
  182. CONST XFDERR_BUFFERTRUNCATED    = $1003   /* (V34) Unexpected end of file */
  183. CONST XFDERR_WRONGHUNKAMOUNT    = $1004   /* (V34) Wrong amount of hunks */
  184. CONST XFDERR_NOOVERLAYS         = $1005   /* (V36) Overlays not allowed */
  185.  
  186. CONST XFDERR_UNSUPPORTEDHUNK    = $2000   /* (V34) Hunk type not supported */
  187. CONST XFDERR_BADRELMODE         = $2001   /* (V34) Unknown XFDREL_#? mode */
  188.  
  189. /*******************************
  190. *                              *
  191. *    Relocation Modes (V34)    *
  192. *                              *
  193. *******************************/
  194.  
  195. CONST XFDREL_DEFAULT            = $0000   /* Use memory types given by hunk_header */
  196. CONST XFDREL_FORCECHIP          = $0001   /* Force all hunks to chip ram */
  197. CONST XFDREL_FORCEFAST          = $0002   /* Force all hunks to fast ram */
  198.  
  199. /*************************************
  200. *                                    *
  201. *    Values for xfd??_PackerFlags    *
  202. *                                    *
  203. *************************************/
  204.  
  205. /* Bit numbers */
  206. CONST XFDPFB_RELOC              = 0       /* Relocatible file packer */
  207. CONST XFDPFB_ADDR               = 1       /* Absolute address file packer */
  208. CONST XFDPFB_DATA               = 2       /* Data file packer */
  209.  
  210. CONST XFDPFB_PASSWORD           = 4       /* Packer requires password */
  211. CONST XFDPFB_RELMODE            = 5       /* (V34) Decruncher supports xfdsi_RelMode */
  212. CONST XFDPFB_KEY16              = 6       /* (V35) Packer requires 16 bit key */
  213. CONST XFDPFB_KEY32              = 7       /* (V35) Packer requires 32 bit key */
  214.  
  215. CONST XFDPFB_RECOGLEN           = 8       /* (V38) slave recognizes target lengths */
  216. CONST XFDPFB_USERTARGET         = 9       /* (V38) slave supports user target buffer */
  217.  
  218. CONST XFDPFB_EXTERN             = 15      /* (V37) PRIVATE */
  219.  
  220. /* Bit masks */
  221. CONST XFDPFF_RELOC              = $0001   /* (1<<XFDPFB_RELOC) */
  222. CONST XFDPFF_ADDR               = $0002   /* (1<<XFDPFB_ADDR) */
  223. CONST XFDPFF_DATA               = $0004   /* (1<<XFDPFB_DATA) */
  224.  
  225. CONST XFDPFF_PASSWORD           = $0010   /* (1<<XFDPFB_PASSWORD) */
  226. CONST XFDPFF_RELMODE            = $0020   /* (1<<XFDPFB_RELMODE) */
  227. CONST XFDPFF_KEY16              = $0040   /* (1<<XFDPFB_KEY16) */
  228. CONST XFDPFF_KEY32              = $0080   /* (1<<XFDPFB_KEY32) */
  229.  
  230. CONST XFDPFF_RECOGLEN           = $0100   /* (1<<XFDPFB_RECOGLEN) */
  231. CONST XFDPFF_USERTARGET         = $0200   /* (1<<XFDPFB_USERTARGET) */
  232.  
  233. CONST XFDPFF_EXTERN             = $8000   /* (1<<XFDPFB_EXTERN) */
  234.  
  235. /************************************
  236. *                                   *
  237. *    Values for xfd??_Flags (V37)   *
  238. *                                   *
  239. ************************************/
  240.  
  241. /* Bit numbers */
  242. CONST XFDFB_RECOGEXTERN         = 0       /* xfdRecog#?() uses external slaves */
  243. CONST XFDFB_RECOGTARGETLEN      = 1       /* (V38) xfdRecogBuffer() uses only slaves
  244.                                              that recognize target lengths */
  245. CONST XFDFB_RECOGUSERTARGET     = 2       /* (V38) xfdRecogBuffer() uses only slaves
  246.                                              that support user targets */
  247. CONST XFDFB_USERTARGET          = 3       /* (V38) xfdbi_DecrunchBuffer() decrunchs
  248.                                              to given xfdbi_UserTarget */
  249.  
  250. /* Bit masks */
  251. CONST XFDFF_RECOGEXTERN         = $0001   /* (1<<XFDFB_RECOGEXTERN) */
  252. CONST XFDFF_RECOGTARGETLEN      = $0002   /* (1<<XFDFB_RECOGTARGETLEN) */
  253. CONST XFDFF_RECOGUSERTARGET     = $0004   /* (1<<XFDFB_RECOGUSERTARGET) */
  254. CONST XFDFF_USERTARGET          = $0008   /* (1<<XFDFB_USERTARGET) */
  255.  
  256. /****************************************************
  257. *                                                   *
  258. *    Flags for xfdTestHunkStructureFlags() (V36)    *
  259. *                                                   *
  260. ****************************************************/
  261.  
  262. /* Bit numbers */
  263. CONST XFDTHB_NOOVERLAYS         = 0       /* Abort on hunk_overlay */
  264.  
  265. /* Bit masks */
  266. CONST XFDTHF_NOOVERLAYS         = $0001   /* (1<<XFDTHB_NOOVERLAYS) */
  267.  
  268. /****************************************
  269. *                                       *
  270. *    Flags for xfdStripHunks() (V36)    *
  271. *                                       *
  272. ****************************************/
  273.  
  274. /* Bit numbers */
  275. CONST XFDSHB_NAME               = 0       /* Strip hunk_name */
  276. CONST XFDSHB_SYMBOL             = 1       /* Strip hunk_symbol */
  277. CONST XFDSHB_DEBUG              = 2       /* Strip hunk_debug */
  278.  
  279. /* Bit masks */
  280. CONST XFDSHF_NAME               = $0001   /* (1<<XFDSHB_NAME) */
  281. CONST XFDSHF_SYMBOL             = $0002   /* (1<<XFDSHB_SYMBOL) */
  282. CONST XFDSHF_DEBUG              = $0004   /* (1<<XFDSHB_DEBUG) */
  283.  
  284. /**************************************
  285. *                                     *
  286. *    Flags for xfdScanData() (V37)    *
  287. *                                     *
  288. **************************************/
  289.  
  290. /* Bit numbers */
  291. CONST XFDSDB_USEEXTERN          = 0       /* Use external slaves for scanning */
  292. CONST XFDSDB_SCANODD            = 1       /* Scan at odd addresses too */
  293.  
  294. /* Bit masks */
  295. CONST XFDSDF_USEEXTERN          = $0001   /* (1<<XFDSDB_USEEXTERN) */
  296. CONST XFDSDF_SCANODD            = $0002   /* (1<<XFDSDB_SCANODD) */
  297.  
  298. /****************
  299. *               *
  300. *    Foreman    *
  301. *               *
  302. ****************/
  303.  
  304. OBJECT xfdForeMan
  305.   xfdf_Security:LONG                      /* moveq #-1,d0 ; rts */
  306.   xfdf_ID:LONG                            /* Set to XFDF_ID */
  307.   xfdf_Version:INT                        /* Set to XFDF_VERSION */
  308.   xfdf_Reserved:INT                       /* Not used by now, set to NULL */
  309.   xfdf_Next:LONG                          /* PRIVATE! */
  310.   xfdf_SegList:LONG                       /* PRIVATE! */
  311.   xfdf_FirstSlave:PTR TO xfdSlave         /* First slave (see below) */
  312. ENDOBJECT
  313.  
  314. CONST XFDF_ID                   = "XFDF"
  315. CONST XFDF_VERSION              = 1
  316.  
  317. /**************
  318. *             *
  319. *    Slave    *
  320. *             *
  321. **************/
  322.  
  323. OBJECT xfdSlave
  324.   xfds_Next:PTR TO xfdSlave               /* Next slave (or NULL) */
  325.   xfds_Version:INT                        /* Set to XFDS_VERSION */
  326.   xfds_MasterVersion:INT                  /* Minimum XFDM_VERSION required */
  327.   xfds_PackerName:PTR TO CHAR             /* Name of packer ('\0' terminated) */
  328.   xfds_PackerFlags:INT                    /* Flags for packer */
  329.   xfds_MaxSpecialLen:INT                  /* Max. length of special info (eg. password) */
  330.   xfds_RecogBuffer:LONG                   /* buffer recognition code (or NULL) (BOOL (*)())*/
  331.   xfds_DecrunchBuffer:LONG                /* buffer decrunch code (or NULL) (BOOL (*)())*/
  332.   xfds_RecogSegment:LONG                  /* segment recognition code (or NULL) (BOOL (*)())*/
  333.   xfds_DecrunchSegment:LONG               /* segment decrunch code (or NULL) (BOOL (*)())*/
  334.   xfds_SlaveID:INT                        /* (V36) Slave ID (only internal slaves) */
  335.   xfds_ReplaceID:INT                      /* (V36) ID of slave to be replaced */
  336.   xfds_MinBufferSize:LONG                 /* (V36) Min. BufSize for RecogBufferXYZ() */
  337. ENDOBJECT
  338.  
  339. /* (V37) XFDPFB_DATA: Scan code (or NULL) */
  340. #define xfds_ScanData xfds_RecogSegment         
  341.  
  342. /* (V37) XFDPFB_DATA: Verify code (or NULL) */
  343. #define xfds_VerifyData xfds_DecrunchSegment    
  344.  
  345. CONST XFDS_VERSION              = 2
  346.  
  347.  
  348.  
  349. /*********************************************
  350. *                                            *
  351. *    Additional Recognition Results (V38)    *
  352. *                                            *
  353. *********************************************/
  354.  
  355. OBJECT xfdRecogResult
  356.   xfdrr_MinTargetLen:LONG                 /* Min. required length of target buffer */
  357.   xfdrr_FinalTargetLen:LONG               /* Final length of decrunched file */
  358. ENDOBJECT
  359.  
  360. /*********************************
  361. *                                *
  362. *    Internal Slave IDs (V36)    *
  363. *                                *
  364. *********************************/
  365.  
  366. CONST XFDID_BASE                        = $8000
  367.  
  368. CONST XFDID_PowerPacker23               = XFDID_BASE+$0001
  369. CONST XFDID_PowerPacker30               = XFDID_BASE+$0003
  370. CONST XFDID_PowerPacker30Enc            = XFDID_BASE+$0005
  371. CONST XFDID_PowerPacker30Ovl            = XFDID_BASE+$0007
  372. CONST XFDID_PowerPacker40               = XFDID_BASE+$0009
  373. CONST XFDID_PowerPacker40Lib            = XFDID_BASE+$000a
  374. CONST XFDID_PowerPacker40Enc            = XFDID_BASE+$000b
  375. CONST XFDID_PowerPacker40LibEnc         = XFDID_BASE+$000c
  376. CONST XFDID_PowerPacker40Ovl            = XFDID_BASE+$000d
  377. CONST XFDID_PowerPacker40LibOvl         = XFDID_BASE+$000e
  378. CONST XFDID_PowerPackerData             = XFDID_BASE+$000f
  379. CONST XFDID_PowerPackerDataEnc          = XFDID_BASE+$0010
  380. CONST XFDID_ByteKiller13                = XFDID_BASE+$0011
  381. CONST XFDID_ByteKiller20                = XFDID_BASE+$0012
  382. CONST XFDID_ByteKiller30                = XFDID_BASE+$0013
  383. CONST XFDID_ByteKillerPro10             = XFDID_BASE+$0014
  384. CONST XFDID_ByteKillerPro10Pro          = XFDID_BASE+$0015
  385. CONST XFDID_DragPack10                  = XFDID_BASE+$0016
  386. CONST XFDID_TNMCruncher11               = XFDID_BASE+$0017
  387. CONST XFDID_HQCCruncher20               = XFDID_BASE+$0018
  388. CONST XFDID_RSICruncher14               = XFDID_BASE+$0019
  389. CONST XFDID_ANCCruncher                 = XFDID_BASE+$001a
  390. CONST XFDID_ReloKit10                   = XFDID_BASE+$001b
  391. CONST XFDID_HighPressureCruncher        = XFDID_BASE+$001c
  392. CONST XFDID_STPackedSong                = XFDID_BASE+$001d
  393. CONST XFDID_TSKCruncher                 = XFDID_BASE+$001e
  394. CONST XFDID_LightPack15                 = XFDID_BASE+$001f
  395. CONST XFDID_CrunchMaster10              = XFDID_BASE+$0020
  396. CONST XFDID_HQCCompressor100            = XFDID_BASE+$0021
  397. CONST XFDID_FlashSpeed10                = XFDID_BASE+$0022
  398. CONST XFDID_CrunchManiaData             = XFDID_BASE+$0023
  399. CONST XFDID_CrunchManiaDataEnc          = XFDID_BASE+$0024
  400. CONST XFDID_CrunchManiaLib              = XFDID_BASE+$0025
  401. CONST XFDID_CrunchManiaNormal           = XFDID_BASE+$0026
  402. CONST XFDID_CrunchManiaSimple           = XFDID_BASE+$0027
  403. CONST XFDID_CrunchManiaAddr             = XFDID_BASE+$0028
  404. CONST XFDID_DefJamCruncher32            = XFDID_BASE+$0029
  405. CONST XFDID_DefJamCruncher32Pro         = XFDID_BASE+$002a
  406. CONST XFDID_TetraPack102                = XFDID_BASE+$002b
  407. CONST XFDID_TetraPack11                 = XFDID_BASE+$002c
  408. CONST XFDID_TetraPack21                 = XFDID_BASE+$002d
  409. CONST XFDID_TetraPack21Pro              = XFDID_BASE+$002e
  410. CONST XFDID_TetraPack22                 = XFDID_BASE+$002f
  411. CONST XFDID_TetraPack22Pro              = XFDID_BASE+$0030
  412. CONST XFDID_DoubleAction10              = XFDID_BASE+$0031
  413. CONST XFDID_DragPack252Data             = XFDID_BASE+$0032
  414. CONST XFDID_DragPack252                 = XFDID_BASE+$0033
  415. CONST XFDID_FCG10                       = XFDID_BASE+$0034
  416. CONST XFDID_Freeway07                   = XFDID_BASE+$0035
  417. CONST XFDID_IAMPacker10ATM5Data         = XFDID_BASE+$0036
  418. CONST XFDID_IAMPacker10ATM5             = XFDID_BASE+$0037
  419. CONST XFDID_IAMPacker10ICEData          = XFDID_BASE+$0038
  420. CONST XFDID_IAMPacker10ICE              = XFDID_BASE+$0039
  421. CONST XFDID_Imploder                    = XFDID_BASE+$003a
  422. CONST XFDID_ImploderLib                 = XFDID_BASE+$003b
  423. CONST XFDID_ImploderOvl                 = XFDID_BASE+$003c
  424. CONST XFDID_FileImploder                = XFDID_BASE+$003d
  425. CONST XFDID_MasterCruncher30Addr        = XFDID_BASE+$003f
  426. CONST XFDID_MasterCruncher30            = XFDID_BASE+$0040
  427. CONST XFDID_MaxPacker12                 = XFDID_BASE+$0041
  428. CONST XFDID_PackIt10Data                = XFDID_BASE+$0042
  429. CONST XFDID_PackIt10                    = XFDID_BASE+$0043
  430. CONST XFDID_PMCNormal                   = XFDID_BASE+$0044
  431. CONST XFDID_PMCSample                   = XFDID_BASE+$0045
  432. CONST XFDID_XPKPacked                   = XFDID_BASE+$0046
  433. CONST XFDID_XPKCrypted                  = XFDID_BASE+$0047
  434. CONST XFDID_TimeCruncher17              = XFDID_BASE+$0048
  435. CONST XFDID_TFACruncher154              = XFDID_BASE+$0049
  436. CONST XFDID_TurtleSmasher13             = XFDID_BASE+$004a
  437. CONST XFDID_MegaCruncher10              = XFDID_BASE+$004b
  438. CONST XFDID_MegaCruncher12              = XFDID_BASE+$004c
  439. CONST XFDID_ProPack                     = XFDID_BASE+$004d
  440. CONST XFDID_ProPackData                 = XFDID_BASE+$004e
  441. CONST XFDID_ProPackDataKey              = XFDID_BASE+$004f
  442. CONST XFDID_STCruncher10                = XFDID_BASE+$0050
  443. CONST XFDID_STCruncher10Data            = XFDID_BASE+$0051
  444. CONST XFDID_SpikeCruncher               = XFDID_BASE+$0052
  445. CONST XFDID_SyncroPacker46              = XFDID_BASE+$0053
  446. CONST XFDID_SyncroPacker46Pro           = XFDID_BASE+$0054
  447. CONST XFDID_TitanicsCruncher11          = XFDID_BASE+$0055
  448. CONST XFDID_TitanicsCruncher12          = XFDID_BASE+$0056
  449. CONST XFDID_TryItCruncher101            = XFDID_BASE+$0057
  450. CONST XFDID_TurboSqueezer61             = XFDID_BASE+$0058
  451. CONST XFDID_TurboSqueezer80             = XFDID_BASE+$0059
  452. CONST XFDID_TurtleSmasher200            = XFDID_BASE+$005a
  453. CONST XFDID_TurtleSmasher200Data        = XFDID_BASE+$005b
  454. CONST XFDID_StoneCracker270             = XFDID_BASE+$005c
  455. CONST XFDID_StoneCracker270Pro          = XFDID_BASE+$005d
  456. CONST XFDID_StoneCracker292             = XFDID_BASE+$005e
  457. CONST XFDID_StoneCracker299             = XFDID_BASE+$005f
  458. CONST XFDID_StoneCracker299d            = XFDID_BASE+$0060
  459. CONST XFDID_StoneCracker300             = XFDID_BASE+$0061
  460. CONST XFDID_StoneCracker300Data         = XFDID_BASE+$0062
  461. CONST XFDID_StoneCracker310             = XFDID_BASE+$0063
  462. CONST XFDID_StoneCracker310Data         = XFDID_BASE+$0064
  463. CONST XFDID_StoneCracker311             = XFDID_BASE+$0065
  464. CONST XFDID_StoneCracker400             = XFDID_BASE+$0066
  465. CONST XFDID_StoneCracker400Data         = XFDID_BASE+$0067
  466. CONST XFDID_StoneCracker401             = XFDID_BASE+$0068
  467. CONST XFDID_StoneCracker401Data         = XFDID_BASE+$0069
  468. CONST XFDID_StoneCracker401Addr         = XFDID_BASE+$006a
  469. CONST XFDID_StoneCracker401BetaAddr     = XFDID_BASE+$006b
  470. CONST XFDID_StoneCracker403Data         = XFDID_BASE+$006c
  471. CONST XFDID_StoneCracker404             = XFDID_BASE+$006d
  472. CONST XFDID_StoneCracker404Data         = XFDID_BASE+$006e
  473. CONST XFDID_StoneCracker404Addr         = XFDID_BASE+$006f
  474. CONST XFDID_ChryseisCruncher09          = XFDID_BASE+$0070
  475. CONST XFDID_QuickPowerPacker10          = XFDID_BASE+$0071
  476. CONST XFDID_GNUPacker12                 = XFDID_BASE+$0072
  477. CONST XFDID_GNUPacker12Seg              = XFDID_BASE+$0073
  478. CONST XFDID_GNUPacker12Data             = XFDID_BASE+$0074
  479. CONST XFDID_TrashEliminator10           = XFDID_BASE+$0075
  480. CONST XFDID_MasterCruncher30Data        = XFDID_BASE+$0076
  481. CONST XFDID_SuperCruncher27             = XFDID_BASE+$0077
  482. CONST XFDID_UltimatePacker11            = XFDID_BASE+$0078
  483. CONST XFDID_ProPackOld                  = XFDID_BASE+$0079
  484. CONST XFDID_SACFPQCruncher              = XFDID_BASE+$007a
  485. CONST XFDID_PowerPackerPatch10          = XFDID_BASE+$007b
  486. CONST XFDID_CFP135                      = XFDID_BASE+$007c
  487. CONST XFDID_BOND                        = XFDID_BASE+$007d
  488. CONST XFDID_PowerPackerLoadSeg          = XFDID_BASE+$007e
  489. CONST XFDID_StoneCracker299b            = XFDID_BASE+$007f
  490. CONST XFDID_CrunchyDat10                = XFDID_BASE+$0080
  491. CONST XFDID_PowerPacker20               = XFDID_BASE+$0081
  492. CONST XFDID_StoneCracker403             = XFDID_BASE+$0082
  493. CONST XFDID_PKProtector200              = XFDID_BASE+$0083
  494. CONST XFDID_PPbk                        = XFDID_BASE+$0084
  495.  
  496.